package cn.sys.mapper;

import cn.sys.domain.Role;
import cn.sys.domain.RoleExample;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RoleMapper {
    long countByExample(RoleExample example);

    int deleteByExample(RoleExample example);

    int deleteByPrimaryKey(Integer roleid);

    int insert(Role record);

    int insertSelective(Role record);

    List<Role> selectByExample(RoleExample example);

    Role selectByPrimaryKey(Integer roleid);

    int updateByExampleSelective(@Param("record") Role record, @Param("example") RoleExample example);

    int updateByExample(@Param("record") Role record, @Param("example") RoleExample example);

    int updateByPrimaryKeySelective(Role record);

    int updateByPrimaryKey(Role record);

    /*查询角色*/
    public List<Role> queryAllRole(Role role);

    //  根据角色id删除sys_role_role表中的数据
    public void deleteRoleMenuByRid(Integer roleVo);


    //  根据角色id删除sys_role_user中数据
    public void deleteRoleUserByRid(Integer roleid);

    /***************************************************************************************************/
    //保存角色 和菜单 的关系
    public void insertRoleMenu(@Param("rid") Integer rid, @Param("mid") Integer mid);

    //根据用户id删除sys_role_user里面的数据
    void deleteRoleUserByUid(Integer userid);

    //根据用户id 查询角色
    List<Role> queryRoleByUid(@Param("available") Integer available, @Param("uid") Integer uid);


}